﻿namespace AspAuthentication.Interfaces
{
    /// <summary>
    /// Defines the contract which any implementation of ISecurityCop must satisfy
    /// </summary>
    public interface ISecurityCop
    {
        /// <summary>
        /// Gets or sets the forms gate keeper.
        /// </summary>
        /// <value>The forms gate keeper.</value>
        IUserFormsAuthentication FormsGateKeeper { get; set; }
        /// <summary>
        /// Gets the portal membership provider.
        /// </summary>
        /// <value>The portal membership provider.</value>
        IPortalMembershipProvider PortalMembershipProvider { get; }
        /// <summary>
        /// Gets the portal role provider.
        /// </summary>
        /// <value>The portal role provider.</value>
        IPortalRoleProvider PortalRoleProvider { get; }
        /// <summary>
        /// Gets the portal profile provider.
        /// </summary>
        /// <value>The portal profile provider.</value>
        IPortalProfileProvider PortalProfileProvider { get; }
    }
}